package SparkRDD.RDD算子.Actions

import org.apache.spark.{SparkConf, SparkContext}
import org.junit.Test

/**
 * take 和 takeSample 都是获取数据，一个是直接获取，一个是采样获取
 * first 一般情况下，action会从所有分区获取数据，先对来说速度比较慢
 *       但是first仅处理第一个分区取出第一个元素，速度相对较快
 */
class firstTaketakeSampleTest {

  val conf = new SparkConf().setMaster("local[6]").setAppName("sortBy")
  val sc   = new SparkContext(conf)

  @Test
  def getTest: Unit ={

    val rdd = sc.parallelize(Seq(1,2,3,4,5,6,7,8))
    println(rdd.first())
    rdd.take(3).foreach(item=>println(item))
   // rdd.takeSample(withReplacement = true,3).foreach(item => println(item))
  }

}
